/*
 * 描述： <描述>
 * 修改人： rain
 * 修改时间： 2016年8月21日
 * 项目： rainhy-auth
 */
package com.rainhy.auth.context;

import java.util.Collection;

import org.springframework.util.MultiValueMap;

/**
 * 权限管理器<br>
 * 管理权限和权限引用的查询和持久化等
 * 
 * @author rain
 * @version [版本号, 2016年8月25日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public interface AuthManager {
    
    /** 持久化权限引用(如果过期,则删除) */
    void persist(AuthItemRef authItemRef);
    
    /**
     * 根据"权限引用类型和权限引用id的映射"来查询权限
     *
     * @param refType2RefIdMapping 权限引用类型和权限引用id的映射
     * 
     * @return Collection<AuthItemRef> [返回类型说明]
     * @throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     * @version [版本号, 2016年9月30日]
     * @author rain
     */
    Collection<AuthItemRef> queryAuthItemRef(MultiValueMap<String, String> refType2RefIdMapping);
}
